#include <iostream>
#include <vector>
#include <string>
using namespace std;

// struct TreeNode
// {
//   int val;
//   TreeNode *left;
//   TreeNode *right;
//   TreeNode(int x) : val(x), left(NULL), right(NULL) {}
// };

// struct ListNode
// {
//   int val;
//   ListNode *next;
//   ListNode(int x) : val(x), next(NULL) {}
// };

bool isrunnian(int year)
{
  if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
  {
    return true;
  }
  return false;
}

int main()
{
  //islower(char c) 是否为小写字母
  //isupper(char c) 是否为大写字母
  //isdigit(char c) 是否为数字
  //isalpha(char c) 是否为字母
  //isalnum(char c) 是否为字母或者数字
  //toupper(char c) 字母小转大
  //tolower(char c) 字母大转小
  int year, month, day;
  //如果那年的年份能除以4没有余数,那么那年就是闰du年,如果不行,就是平年
  //比如bai说,2004,2008,2012,它们都能除尽4,没有余du数,所以都是闰年
  //然后闰年是366天,平年是365天,相差的一天主要是在2月,闰年有29号,平年没有
  int a[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 平年a[1]=28
  int b[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 闰年a[1]=29

  while (cin >> year >> month >> day)
  {
    int sum = 0;
    if (isrunnian(year))
    {
      for (int i = 0; i < month - 1; i++)
      {
        sum += b[i];
      }
    }
    else
    {
      for (int i = 0; i < month - 1; i++)
      {
        sum += a[i];
      }
    }
    cout << sum + day << endl;
  }
  return 0;
}